package com.interceptor;

import com.po.User;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class LoginInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
        //获取当前URL字符串
        String url=httpServletRequest.getRequestURI();
        //放行tologin请求和login请求
        if(url.indexOf("/tologin")>0 || url.indexOf("/login")>0){
            return  true;
        }
            HttpSession session=httpServletRequest.getSession();
        User user=(User) session.getAttribute("user");
        if(user !=null){
            return true;
        }
        httpServletRequest.setAttribute("msg","not login!");
        httpServletRequest.getRequestDispatcher("/WEB-INF/js/login.jsp").forward(httpServletRequest,httpServletResponse);
        return false;
    }

    @Override
    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {

    }

    @Override
    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {

    }
}
